package br.com.quiz.domain;

import java.io.Serializable;

import javax.persistence.*;

import java.util.Date;
import java.util.List;

/**
 * The persistent class for the pessoa database table.
 * 
 */
@Entity
@Inheritance( strategy = InheritanceType.JOINED )
@NamedQueries( value = { @NamedQuery( name = "Pessoa.autenticar", query = "Select p from Pessoa p where p.pesUsername = :pesUsername and p.pesSenha = :pesSenha" ), @NamedQuery( name = "Aluno.listar", query = "SELECT a FROM Aluno a" ) } )
public class Pessoa implements Serializable{
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue( strategy = GenerationType.IDENTITY )
	@Column( name = "PES_ID" )
	private int pesId;

	@Temporal( TemporalType.DATE )
	@Column( name = "PES_DATA_DE_NASCIMENTO" )
	private Date pesDataDeNascimento;

	@Column( name = "PES_EMAIL" )
	private String pesEmail;

	@Column( name = "PES_NOME" )
	private String pesNome;

	@Column( name = "PES_SENHA" )
	private String pesSenha;

	@Column( name = "PES_USERNAME" )
	private String pesUsername;

	public Pessoa(){}

	public int getPesId() {
		return this.pesId;
	}

	public void setPesId( int pesId ) {
		this.pesId = pesId;
	}

	public Date getPesDataDeNascimento() {
		return this.pesDataDeNascimento;
	}

	public void setPesDataDeNascimento( Date pesDataDeNascimento ) {
		this.pesDataDeNascimento = pesDataDeNascimento;
	}

	public String getPesEmail() {
		return this.pesEmail;
	}

	public void setPesEmail( String pesEmail ) {
		this.pesEmail = pesEmail;
	}

	public String getPesNome() {
		return this.pesNome;
	}

	public void setPesNome( String pesNome ) {
		this.pesNome = pesNome;
	}

	public String getPesSenha() {
		return this.pesSenha;
	}

	public void setPesSenha( String pesSenha ) {
		this.pesSenha = pesSenha;
	}

	public String getPesUsername() {
		return this.pesUsername;
	}

	public void setPesUsername( String pesUsername ) {
		this.pesUsername = pesUsername;
	}

	@Override
	public String toString() {
		return "Pessoa [getPesId()=" + getPesId() + ", getPesDataDeNascimento()=" + getPesDataDeNascimento() + ", getPesEmail()=" + getPesEmail() + ", getPesNome()=" + getPesNome() + ", getPesSenha()=" + getPesSenha() + ", getPesUsername()=" + getPesUsername() + "]";
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + pesId;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Pessoa other = (Pessoa) obj;
		if (pesId != other.pesId)
			return false;
		return true;
	}

	
	
	
	

}